5 Cách bảo mật tài khoản người dùng Linux hiệu quả
1. Hạn chế quyền truy cập tài khoản root
Ví dụ, kẻ tấn công có thể đăng nhập với tư cách người dùng root và có quyền truy cập vào hệ thống. Để hạn chế quyền truy cập root không cần thiết từ bên trong hoặc bên ngoài hệ thống Linux, bạn có thể:
- Thêm người dùng khác và cấp quyền root cho user đó
- Tắt đăng nhập root SSH
Tạo superuser mới
Để cấp quyền sudo hoặc quyền root cho tài khoản người dùng Linux thông thường, hãy thêm người dùng vào nhóm sudo như sau:
usermod -aG sudo username
Bây giờ, hãy chuyển sang tài khoản người dùng bằng lệnh su và xác minh các đặc quyền root của nó bằng cách đưa ra lệnh chỉ người dùng root mới có thể tiếp cận được:
su - username sudo systemctl restart sshd
Kích hoạt quyền sudo cung cấp một số lợi ích bảo mật tốt, chẳng hạn như:
- Bạn không cần phải chia sẻ mật khẩu root với người dùng thông thường.
- Nó giúp bạn kiểm tra tất cả các lệnh do người dùng thông thường chạy, có nghĩa là nó lưu trữ chi tiết về ai, khi nào và ở đâu thực hiện lệnh trong file /var/log/secure.
- Bên cạnh đó, bạn có thể chỉnh sửa file /etc/sudoers để giới hạn quyền superuser của người dùng thông thường.
- Bạn có thể sử dụng lệnh su -l để kiểm tra quyền root hiện tại của người dùng.
Tắt đăng nhập SSH root
Để vô hiệu hóa quyền truy cập SSH root trên hệ thống, trước tiên, hãy mở file cấu hình chính.
Bỏ ghi chú dòng sau để đặt quyền đăng nhập root thành no:
PermitRootLogin no
Lưu file và khởi động lại service sshd bằng cách nhập:
sudo systemctl restart sshd
Bây giờ, bất cứ khi nào bạn cố gắng truy cập SSH vào hệ thống với tư cách là người dùng root, bạn sẽ nhận được thông báo lỗi sau:
Permission denied, please try again.
2. Đặt ngày hết hạn trên tài khoản
Một cách hiệu quả khác để kiểm soát quyền truy cập không cần thiết là đặt ngày hết hạn trên các tài khoản được tạo để sử dụng tạm thời.
Ví dụ, nếu một thực tập sinh hoặc một nhân viên cần quyền truy cập vào hệ thống, bạn có thể đặt ngày hết hạn trong quá trình tạo tài khoản. Đó là một biện pháp phòng ngừa trong trường hợp bạn quên xóa tài khoản theo cách thủ công sau khi họ rời khỏi tổ chức.
Sử dụng lệnh chage với tiện ích grep để tìm nạp thông tin chi tiết về ngày hết hạn tài khoản cho người dùng:
chage -l username| grep account
Đầu ra:
Account expires : never
Như được hiển thị ở trên, đầu ra cho biết không có ngày hết hạn. Bây giờ sử dụng lệnh usermod với flag -e để đặt ngày hết hạn ở định dạng YYYY-MM-DD và xác minh sự thay đổi bằng lệnh chage ở trên.
usermod -e 2021-01-25 username chage -l username| grep account
3. Cải thiện bảo mật cho mật khẩu tài khoản
Thực thi chính sách mật khẩu mạnh là một khía cạnh quan trọng của việc bảo mật tài khoản người dùng, vì mật khẩu yếu cho phép kẻ tấn công dễ dàng xâm nhập vào hệ thống của bạn thông qua các cuộc tấn công Brute-force, Dictionary hoặc Rainbow Table.
Chọn một mật khẩu dễ nhớ có thể mang lại một số điểm tiện lợi, nhưng nó cũng mở ra nhiều cơ hội cho những kẻ tấn công đoán mật khẩu với sự trợ giúp của các công cụ và danh sách từ có sẵn trực tuyến.
Đặt ngày hết hạn mật khẩu
Linux cung cấp một số tùy chọn mặc định bên trong file /etc/logins.defs cho phép bạn đặt ngày hết hạn mật khẩu tài khoản. Sử dụng lệnh chage và ghi lại thông tin chi tiết về việc hết hạn mật khẩu như sau:
chage -l username | grep days
Đối với các tài khoản đang sử dụng, bạn có thể kiểm soát việc lão hóa mật khẩu với sự trợ giúp của lệnh chage để đặt PASS_MAX_DAYS, PASS_MIN_DAYS và PASS_WARN_AGE thành 40, 5 và 7.
chage -M 40 -m 5 -W 7 username
Hash mật khẩu
Một cách khác để tăng cường bảo mật mật khẩu tài khoản là lưu trữ các hash mật khẩu bên trong file /etc/shadow . Hash là các hàm toán học một chiều lấy mật khẩu làm đầu vào và xuất ra một chuỗi không thể đảo ngược.
Trước đó, trên các hệ thống Linux, bất cứ khi nào người dùng nhập mật khẩu của họ để đăng nhập, hệ thống sẽ tạo hash của nó và kiểm tra chéo nó với code được lưu trữ trong file /etc/shadow .
Tuy nhiên, có một vấn đề với quyền truy cập file passwd, bất kỳ ai có quyền truy cập hệ thống đều có thể đọc file và bẻ khóa hash bằng bảng cầu vồng.
Do đó, Linux hiện lưu các hàm hash bên trong file /etc/shadow với tập hợp các quyền truy cập sau:
Bạn vẫn có thể cài đặt Linux với các cách lưu trữ hash cũ. Bạn có thể sửa đổi điều đó bằng cách chạy lệnh pwconv, như vậy nó sẽ tự động lưu các hash mật khẩu vào file . Tương tự, bạn có thể bật phương thức khác (file ) bằng lệnh pwunconv.
4. Xóa tài khoản người dùng không sử dụng
Kẻ xấu có thể khai thác các tài khoản không sử dụng và hết hạn trong hệ thống, bằng cách gia hạn tài khoản đó và làm cho tài khoản đó xuất hiện như một người dùng hợp pháp. Để xóa tài khoản không hoạt động và dữ liệu được liên kết bất cứ khi nào người dùng rời khỏi tổ chức, trước tiên, hãy tìm tất cả các file liên quan đến người dùng:
find / -user username
Sau đó, vô hiệu hóa tài khoản hoặc đặt ngày hết hạn như đã thảo luận ở trên. Đừng quên sao lưu các file do người dùng sở hữu. Bạn có thể chọn gán file cho chủ sở hữu mới hoặc xóa chúng khỏi hệ thống.
Cuối cùng, xóa tài khoản người dùng bằng lệnh userdel.
userdel -f username
5. Hạn chế quyền truy cập từ xa vào một nhóm người dùng cụ thể
Nếu bạn đang host một web server trên máy Linux của mình, bạn có thể cần chỉ cho phép những người dùng cụ thể truy cập SSH từ xa vào hệ thống. OpenSSL cho phép bạn giới hạn người dùng bằng cách kiểm tra chéo xem họ có thuộc một nhóm cụ thể hay không.
Đối với điều đó, hãy tạo một nhóm người dùng có tên ssh_gp, thêm những người dùng bạn muốn cấp quyền truy cập từ xa vào nhóm và liệt kê thông tin nhóm người dùng như sau:
Bây giờ, hãy mở file cấu hình chính OpenSSL để bao gồm nhóm người dùng được phép ssh_gp.
Hãy nhớ bỏ ghi chú dòng để đảm bảo bao gồm nhóm thành công. Khi hoàn tất, hãy lưu và thoát khỏi file và khởi động lại service:
sudo systemctl restart sshd
Hy vọng qua bài viết này quản trị viên tài khoản đã biết cách bảo mật tài khoản người dùng Linux tránh khỏi các mối đe dọa tiềm ẩn.
Nguồn: Quantrimang